﻿using star_questionnair.DTOs;
using star_questionnair.Models;

namespace star_questionnair.Services.impl;

public interface IResponseService
{
    Response SubmitWholeResponse(Response response);
    Response Start(Response response);
    void UpdateResponse(Response response);
    Response UpdateWholeResponse(Response response);
    int GetResponseCountByQuestionId(int questionId);
    List<Response> SelectAll(Response response);
    User SelectUser(Response response);
    
    Task<List<Response>> GetAllResponsesByQuestionnaireIdAsync(int questionnaireId);
    Task<Response> GetResponseByIdAsync(int responseId);

    ResponseDTO ToDTO(Response response);
    Response ToEntity(ResponseDTO responseDTO);

}